﻿/*----------------------------------------------------------------
// Copyright (C) 2016 苏州，顾宏
//
// 创建者：Macro Gu
// 修改者列表：
// 创建日期：2016.1.5
// 模块描述：base服务器进程
//----------------------------------------------------------------*/

#include "base_server.h"

#include "rpc_forwarder.h"  // for CRpcForwarder
#include "service/svc_forward_to_clt.h"  // for CSvcForwardToClt
#include "service/svc_test_cpp.h"  // for CSvcTestCpp

CBaseServer::CBaseServer(uint16_t uSvrId, EServerType eServerType,  CWorld& rWorld) :
	CAsioServer(uSvrId, eServerType, rWorld),
	m_pRpcForwarder(new CRpcForwarder(uSvrId))
{
	RegisterService(std::make_shared<CSvcTestCpp>());
	RegisterService(std::make_shared<CSvcForwardToClt>());
}

CBaseServer::~CBaseServer()
{
}

bool CBaseServer::DoForwardRpcRequest(const CRpcCallContext& ctx,
	const std::string& sService, const std::string& sMethod,
	const std::string& sContent) const
{
	return m_pRpcForwarder->Forward(ctx, sService, sMethod, sContent);
}

